home *** CD-ROM | disk | FTP | other *** search
/ The Arcade BBS / arcadebbs.zip / arcadebbs / bbstools / WWIV Mods / WWIVMOD.ZIP / RIPMOD2.MOD < prev    next >
Encoding:
Text File  |  1993-10-16  |  11.2 KB  |  317 lines

  1. RIPMOD2b ("THE COMPLETE RIP PACKAGE") file2
  2. ``Midiman`` WWIVnet #330 AT 856
  3. 0Sunday, October 3, 1993  9:47 pm 3-=1[5JST1]3=-0
  4. 0R: net33: @9 (via @22) [07:51 10/08/93]
  5. 0R: net33: @22 (via @7) [07:42 10/08/93]
  6. 0R: net33: @7 (via @8) [07:16 10/08/93]
  7. 0R: net33: @8 (via @1) [07:23 10/08/93]
  8. 0R: net33: @15 [06:06 10/08/93]
  9. 0R: net33: @4062 (via @4064) [06:27 10/06/93]
  10. 0R: net33: @4064 (via @1040) [03:36 10/06/93]
  11. 0R: net33: @1040 (via @2050) [12:04 10/05/93]
  12. 0R: net34: @2050 [09:48 10/05/93]
  13. 0R: net34: @2050 (via @1040) [16:16 10/04/93]
  14. 0R: net33: @1040 (via @856) [16:12 10/04/93]
  15. 0R: net33: @856 [22:06 10/03/93]
  16. ┌────────────────────────────────────────────────────────────────────────────┐
  17. │ Mod Name:        RIPMOD2b               Mod Author:    MidiMan #1@850      │
  18. │ Difficulty:      Normal                 Date:          09-17-1993          │
  19. │ WWIV Version:    4.22                   Update         09-26-1993          │
  20. │ Description:     Adds RIPscrip to WWIV                                     │
  21. │                           FILE # 2                                         │
  22. └────────────────────────────────────────────────────────────────────────────┘
  23.  
  24. =============================================================================
  25. [#9] [LOAD] COM.C Look for :
  26. =============================================================================
  27. void ptime(void)
  28. {
  29.   char xl[81], cl[81], atr[81], cc, s[81];
  30.   long l;
  31.  
  32.   savel(cl, atr, xl, &cc);
  33.   if (rip) {                  /* RIP MOD */
  34.     riptime();                /* RIP MOD */
  35.     return;                   /* RIP MOD */
  36.     }                         /* RIP MOD */
  37.   ansic(0);
  38.   nl();
  39. save com.c
  40. ===========================================================================  
  41. [#10] [Load] DEFAULTS.C
  42. ===========================================================================
  43. Look for:  in print_cur_stat(void)
  44.   
  45.   else
  46.     pl(get_string(402));
  47.   npr("C. RIP Graphics      : %s\r\n",(rip)?"On":"Off");  /* RIP MOD */
  48.   pl(get_string(403));
  49.   nl();
  50.   nl();
  51.       
  52. Further down in void defaults(void)    
  53.   
  54.     if (okansi()) {
  55.       prt(2,get_string(477));
  56.       ch=onek("Q?123456789ABCW");        /* RIP MOD CHANGE */
  57.     } else {
  58.       prt(2,get_string(478));
  59.       ch=onek("Q?1234567BCW");           /* RIP MOD CHANGE */
  60.     }
  61.     switch(ch) {
  62.       
  63.       
  64.       case 'B':                                               
  65.         optional_lines();                                      
  66.         break;                                                 
  67.       case 'C':                                  /* RIP MOD */
  68.         if (rip) {                               /* RIP MOD */
  69.         rip=0;                                   /* RIP MOD */
  70.         nl();                                    /* RIP MOD */
  71.         npr("RIP Graphics turned off.");         /* RIP MOD */
  72.         } else {                                 /* RIP MOD */
  73.         rip=1;                                   /* RIP MOD */
  74.         nl();                                    /* RIP MOD */
  75.         npr("RIP Graphics turned on.");          /* RIP MOD */
  76.         if ((sysstatus_expert & thisuser.sysstatus)==0) /* RIP MOD */
  77.            nl();                                 /* RIP MOD */
  78.            else                                  /* RIP MOD */
  79.            thisuser.sysstatus ^= sysstatus_expert; /* RIP MOD */
  80.         }                                        /* RIP MOD */
  81.         break;                                   /* RIP MOD */
  82.       case 'W':
  83.  
  84. save defaults.c
  85. =============================================================================
  86. [#11]  [LOAD] MAKEFILE.MAK
  87. =============================================================================
  88. look for and change the following:
  89. BBS_OVL = \
  90.         xfertmp.obj xinit.obj subxtr.obj ripmod.obj  /* RIP MOD */
  91.  
  92. BBS_O_OVL = \
  93.         $(OBJ)\voteedit.obj $(OBJ)\xferovl.obj $(OBJ)\xfertmp.obj\
  94.         $(OBJ)\xinit.obj $(OBJ)\subxtr.obj $(OBJ)\ripmod.obj /* RIP MOD */
  95.  
  96. Further down look for...
  97.   
  98.   $(TCC_OVL)
  99. xinit.obj   : xinit.c
  100.   $(TCC_OVL)
  101. subxtr.obj  : subxtr.c
  102.   $(TCC_OVL)
  103. ripmod.obj  : ripmod.c       /* RIP MOD */
  104.   $(TCC_OVL)                 /* RIP MOD */
  105.  
  106. Save makefile.mak
  107. ============================================================================
  108. Thats it!!  MAKE FCNS (to generate a new FCNS.H file)
  109. RUN MAKE, watch it compile (hopefully without errors!)
  110.  
  111. Here is RIPMOD.C & WINDOW.RIP, makesure you cut them out!
  112.  
  113. - - - - - -[CUT HERE]- - - - [RIOMOD.C]- - - - - - - - - - - - - - - - - - -
  114. /*                    RIPMOD.C by MIDIMAN                              */
  115. /*  If you use this mod, please drop a message saying hi! 1@850wwivnet */
  116.  
  117. #include "vars.h"
  118. #pragma hdrstop
  119.  
  120. void ripcheck(void)
  121. {
  122.   long l;
  123.   char ch;
  124.   while (comhit())
  125.     get1c();
  126.   nl();                                
  127.   get1c();
  128.   pr1("\x1b[!");
  129.   l=timer1()+60;
  130.    while ((timer1()<l) && (!hangup)) {
  131.    checkhangup();
  132.    ch=get1c();
  133.    if (ch=='R') {
  134.     npr("RIPscrip Detected\r\n");
  135.     ripblip();
  136.     rip=1; 
  137.     return;
  138.     }
  139.   }                                  
  140. }
  141.  
  142. void rippause(void)           
  143. {                             
  144.   if (rip)
  145.    getkey();                 
  146.    else
  147.    pausescr();
  148. }                             
  149.  
  150. void ripwindow(void)          
  151. {                             
  152.    if (rip) {                 
  153.      ripflg=1;                
  154.      printfile("window.rip"); 
  155.      }
  156. }
  157.  
  158. void riptime(void)
  159. {
  160. if (rip) {
  161. ripcut();
  162. pl("|1B00000200LK050F000B010300000003000000|1U522JCN6V0000");
  163. pl("|1B00000206JK000E0000000200000000000000|Y00000100");
  164. pl("|1U5D2RCC340000<>Time Information<>|Y00000100|=00000001|c01|L5B35CD35|c0B");
  165. pl("|L5B36CD36|c00");
  166. npr("|@5W3YCurrent Time : %s\r\n",times());
  167. npr("|@5W49Elapsed Time : %s\r\n",ctim(timer()-timeon));
  168. npr("|@5W4KTime Left    : %s\r\n",ctim(nsl()));
  169. npr("|@5W4VToday's Date : %s\r\n",date());
  170. pl("|1K|1B280P0201EA0400000B010300020403000000|Y00000100|1U7R5N280P0W20<>Ok<>^M");
  171. rippause();
  172. rippaste();
  173. }
  174. }
  175.                              
  176.       
  177. void ripoff(void)      
  178. {
  179.  
  180. if (rip) {
  181. ripcut();
  182. pl("|1B00000200LK050F000B010300000003000000|1U5D37CD670000");
  183. pl("|1B00000206JK000E0000000200000000000000|Y00000100");
  184. pl("|1U5N3EC33R0000<>Log Off System<>|Y00000100|=00000001|c01|L5L3SC43S|c0B");
  185. pl("|L5L3TC43T|c00|Y00000100|@7F49Are You Sure?|1K");
  186. pl("|1B280P0201EA0400000B010300020403000000|Y00000100|1U6B4Z280P2H00<>Yes<>Y");
  187. pl("|1U984Z280P2620<>No<>N|#|#|#");
  188. if (yn()) {
  189.    ripflg=1;
  190.    printfile("LOGOFF.RIP");
  191.    hangup=1;
  192.    rip=0;
  193.    return;
  194. }  
  195.    rippaste();
  196.    mm=1;
  197. }
  198. }
  199.  
  200. void ripcut(void)
  201. {
  202. if (rip) 
  203. pl("|10$SAVE$|10$STW$|10$SCB$|10$SMF$|10$COFF$");
  204. }
  205.  
  206. void rippaste(void)
  207. {
  208. if (rip)
  209. pl("|10$RESTORE$|10$RTW$|10$RCB$|10$RMF$|10$CON$");
  210. }
  211.  
  212. void ripbig(void)
  213. {
  214. if (rip)
  215. pl("|*|w0000270O12");
  216. }
  217.  
  218. void ripblip(void)
  219. {
  220. if (rip)
  221. pl("|10$BLIP$");
  222. }
  223.  
  224. =======================[END OF RIPMOD.C]===================================
  225.  
  226. - - - - - - - - - - - - - [CUT HERE]- -[WINDOW.RIP]- - - - - - - - - - -
  227. |1K|*|S0107|B0K0GH87C|S010F|p040K7C0A7K0A080K0G|p040K0G0A08HI08H80G|S0108
  228. !|p04HI08H80GH87CHI7K|p04HI7KH87C0K7C0A7K|S0100|B0U0OGY74|c08|LH80GGY0O
  229. !|L0K0G0U0O|L0K7C0U74|LH87CGY74|LH87CHI7K|LH87CHI7K|c0F|LH87CHI7K
  230. !|w05042D0U11|1B00000200LK03040001080700000107000000|Y03000200
  231. !|1U0B7THE8M0000<>MidiLand BBS<>|#|#|#
  232. - - - - - - - - - - - - -[End of window.rip]- - - - - - - - - - - - - - - -
  233.  
  234.                            [R] [I] [P]  
  235.                               
  236.                               M O D 
  237.  
  238. Introduction:
  239.  
  240. RIP is a new standard coming about...People want RIPscrip!  SysOps want it
  241. bad enough to switch software.  Well, don't do it!  WWIV will have RIP!
  242. Users want it because it gives the user a GUI to navigate the bbs.  I have 
  243. had people signon and not know what kind of software it was!  I have done some 
  244. extensive studing on RIP.  It is very easy!  I don't know why it wasn't done 
  245. earlier.  RIP files are ASCII files contiaing commands to draw BOX,CIRCLE,OVOL
  246. ,RETANGLE etc...but really fast! 
  247.  
  248.     I was working on this MOD when Trial Rider came out with his,
  249. basicly his mod printed RIP menus, I took it a few steps further. His mod 
  250. was good, but had many many bugs.  I used part of his code for the MENU's 
  251. and thats about it.  I wrote a RIP autodetection procedure much like the 
  252. ANSI auto-detect.  This works for all versions of RIP (or rip compats).
  253. I re-wrote this detection from the first version I wrote makeing it easier 
  254. to install... also I added file handling better.  Any file 
  255. you have (*.ANS,*.MSG etc..) can have a RIP file...the bbs will look for .RIP 
  256. first in your gfiles subdirectory. so virtually any of your files can be .RIP
  257. (LOGOFF,LOGON,WELCOME,SYSTEM and so on.) Anywys RIPMOD took my many many 
  258. hours and I only have 1 computer, so you can imagine how long it took me. 
  259. As some of you are good programmers you will see that am not Bill gates, but 
  260. I got the job done. If you want to talk RIP, Email WWIVnet 1@850. 
  261.  
  262. Notes:
  263.  
  264. ISSUE A RIPWINDOW(); whenever you want a TTY window. (window.rip)
  265.         RIPPAUSE();  after a printfile() so that you can put a button on the
  266.                      rip screen to continue.
  267.         RIPCUT();    Saves Current Screen to disk temporarily so you can
  268.                      put a popup box after a RIPCUT and you can put
  269.                      a RIPPASTE to put it back to normal w/o redrawing
  270.                      the screen. (instant)
  271.         RIPPASTE();  Pastes whatever you cut, right back! (instant)
  272.         RIPBIG();    When you want the text to be 24X80 (easier to read)
  273.                      Note: you cannot issue a RIPBIG with RIPWINDOW
  274.         RIPBLIP();   Makes a bleep, not like the CTRL-G Beep, but like a 
  275.                      barrier bleep, gets the users attention
  276.  
  277. Basic Rip Commands you need to know:
  278.  
  279.  !|* (CLEAR THE SCREEN)
  280.  !|1k (Kill mouse fields)
  281.  !|#|#|# end of RIP sequence (not nessesary, but good to have)
  282.  
  283. the ! must start on column 1, if your RIPscrip happens not to start on 
  284. column 1, you need to make it a CTRL-PA like this: |*|1C0030330.
  285.  
  286. You might want to put a RIPWINDOW() or a RIPBIG() when you hit F10, I think 
  287. its in the CHAT1(); I Also put a RIPCUT() at the beggining and a RIPPASTE() 
  288. at the end of CHAT1() so that it puts the user right back to where he was 
  289. when you hit F10.
  290.  
  291. I have created a few good looking menus for you.. You can edit these files 
  292. with an ascii editor and change the name of the bbs.  You should use RIPaint 
  293. (full featured RIP drawing program) $200, or you can use TOMBART (Tombstone 
  294. Artist) which is excellent shareware ($30) program that isn't crippled 
  295. (does not support ICONS).  Anyways, Make sure you make a WELCOME.RIP, 
  296. LOGON.RIP, SYSTEM.RIP, LOGOFF.RIP.  Make sure you put a PAUSE button on
  297. each screen except logoff, so the screens don't run together.
  298.  
  299. If you update my MOD at all, Please leave me mail with the update, so I can 
  300. play with it too!
  301.  
  302.                             Special Thanks to:
  303. Wayne for WWIV BBS
  304. Trial Rider for the menus.rip routine
  305. Jigaweas & Hindu for BETA testing it
  306. and my Wife for putting up with me while I did it.
  307. Please subscribe to the RIP gallery sub #45497 Host 5497 
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.